package com.cxso.example.response.cgss;

import io.swagger.v3.oas.annotations.media.Schema;
import lombok.Getter;
import lombok.Setter;

import java.io.Serializable;
import java.util.List;


@Getter
@Setter
public class EnterpriseCheckResponse implements Serializable {


    @Schema(description = "企业名称", example = "阿里巴巴集团")
    private String entityName;

    @Schema(description = "统一社会信用代码", example = "91310114MA1GTYWQ3F")
    private String creditCode;

    @Schema(description = "组织机构代码", example = "123456789")
    private String organizationCode;

    @Schema(description = "企业简称", example = "阿里")
    private String shortName;

    @Schema(description = "地址", example = "北京市朝阳区")
    private String address;

    @Schema(description = "注册资本", example = "100000000")
    private String registerCapital;

    @Schema(description = "实收资金", example = "100000000")
    private String actualCapital;

    @Schema(description = "企业状态（1：存续；2：注销；3：吊销；4：撤销；5：迁出；6：设立中；7：清算中；8：停业；9：其他；10：空；11：歇业；12：责令关闭；13：已取缔非法社会组织；14：涉嫌非法社会组织）", example = "1")
    private String entityStatus;

    @Schema(description = "企业类型", example = "有限责任公司")
    private String entityType;

    @Schema(description = "法定代表人", example = "张三")
    private String legalPerson;

    @Schema(description = "法定代表人类型（P：个人；E：企业）", example = "P")
    private String legalPersonType;

    @Schema(description = "成立日期", example = "2020-01-01")
    private String registerDate;

    @Schema(description = "登记机关", example = "北京市工商行政管理局")
    private String registerDepartment;

    @Schema(description = "经营期限起始日期YYYYMM-DD", example = "20200101")
    private String businessStartTime;

    @Schema(description = "经营期限结束日期YYYYMM-DD", example = "20301231")
    private String businessEndTime;

    @Schema(description = "核准日期YYYY-MM-DD", example = "2020-01-01")
    private String checkDate;

    @Schema(description = "从业人数", example = "1000")
    private String employeeCnt;

    @Schema(description = "经营范围", example = "互联网信息服务")
    private String businessScope;

    @Schema(description = "企业标签（小微、大型、中型）", example = "大型")
    private String tagName;

    @Schema(description = "吊销日期", example = "2020-01-01")
    private String revokeDate;

    @Schema(description = "吊销原因", example = "违反规定")
    private String revokeReason;

    @Schema(description = "注销日期", example = "2020-01-01")
    private String cancelDate;

    @Schema(description = "注销原因", example = "解散")
    private String cancelReason;

    @Schema(description = "省份", example = "北京")
    private String province;

    @Schema(description = "城市", example = "北京")
    private String city;

    @Schema(description = "是否上市（1：是，2：否）", example = "1")
    private String isIPO;

    @Schema(description = "上市详情")
    private List<ListDetail> listDetail;

    @Schema(description = "是否高新企业（1：是，0：否）", example = "1")
    private String isHitech;

    @Schema(description = "企业历史名称", example = "[\"阿里巴巴集团\", \"阿里云\"]")
    private List<String> historyName;

    @Schema(description = "行业代码", example = "6300")
    private String industryCode;

    @Schema(description = "行业名称", example = "互联网和相关服务")
    private String industryName;

    @Schema(description = "企业分类", example = "高新技术企业")
    private String entType;

    @Schema(description = "经营地址", example = "北京市朝阳区")
    private String businessAddress;

    @Schema(description = "注册号", example = "123456789012345678")
    private String registerCode;

    @Schema(description = "区域代码", example = "110105")
    private String districtCode;


    @Getter
    @Setter
    public static class ListDetail {

        @Schema(description = "上市代码", example = "600000")
        private String listedCd;

        @Schema(description = "上市类型", example = "A股")
        private String listedType;

        @Schema(description = "上市时间", example = "2020-01-01")
        private String listDate;

        @Schema(description = "退市时间", example = "2030-01-01")
        private String endDate;

    }
}
